package com.jctrip.hotel.source.model.CnBooking.resp;

import java.util.List;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;

import lombok.Data;

/**
 * @Author henry
 * @Date 2023/8/1 14:23
 * @Description
 */
@Data
public class OrderSearchResp extends BaseResponse {

    @JacksonXmlElementWrapper(localName = "Data")
    @JacksonXmlProperty(localName = "Orders")
    private List<QueryOrderData> data;

    @Data
    public static class QueryOrderData {
        @JacksonXmlProperty(localName = "OrderCount")
        private String orderCount;
        @JacksonXmlProperty(localName = "Order")
        @JacksonXmlElementWrapper
        private CNBEOrderData orderData;
    }

    @Data
    public static class CNBEOrderData {
        @JacksonXmlProperty(localName = "OrderId")
        private String orderId;
        @JacksonXmlProperty(localName = "OrderSourceId")
        private String orderSourceId;
        @JacksonXmlProperty(localName = "OrderSourceName")
        private String orderSourceName;
        @JacksonXmlProperty(localName = "OrderStatesId")
        private String orderStatesId;
        @JacksonXmlProperty(localName = "OrderStatesName")
        private String orderStatesName;
        @JacksonXmlProperty(localName = "CustomerPayStatesId")
        private String customerPayStatesId;
        @JacksonXmlProperty(localName = "CustomerPayStates")
        private String customerPayStates;
        @JacksonXmlProperty(localName = "OrderAmount")
        private String orderAmount;
        @JacksonXmlProperty(localName = "Currency")
        private String currency;
        @JacksonXmlProperty(localName = "GuestName")
        private String guestName;
        @JacksonXmlProperty(localName = "HotelId")
        private String hotelId;
        @JacksonXmlProperty(localName = "HotelName")
        private String hotelName;
        @JacksonXmlProperty(localName = "RoomId")
        private String roomId;
        @JacksonXmlProperty(localName = "RoomNum")
        private String roomNum;
        @JacksonXmlProperty(localName = "RoomName")
        private String roomName;
        @JacksonXmlProperty(localName = "SpecialRemark")
        private String specialRemark;
        @JacksonXmlProperty(localName = "CustomerOrderId")
        private String customerOrderId;
        @JacksonXmlProperty(localName = "HotelConfirmationNo")
        private String hotelConfirmationNo;
        @JacksonXmlProperty(localName = "CheckIn")
        private String checkIn;
        @JacksonXmlProperty(localName = "CheckOut")
        private String checkOut;
    }
}
